import java.io.Serializable;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Observable;


public class Periodique implements Serializable {

	// ************************************************************************************************************
	// Constantes
	// ************************************************************************************************************

	private static final long serialVersionUID = 1L;
	
	// ************************************************************************************************************
	// Attributs
	// ******************************************
	
	private String _issn;
	private String _nom;
	private String _editeur;
	private HashMap<String, Parution> _lesParutions;
	
	///////////////////////////////////
	//Constructeur
	///////////////////////////////////
	public Periodique(String issn, String nom, String editeur ){
		this.setIssn(issn);
		this.setNom(nom);
		this.setEditeur(editeur);
		this.setParutions(new HashMap<String, Parution>());
	}
	
	///////////////////////////////////
	//Affecteurs
	///////////////////////////////////
	public void setIssn(String num){
		_issn = num;
	}
	
	///////////////////////////////////
	public void setNom(String n){
		_nom = n;
	}
	
	///////////////////////////////////
	public void setEditeur(String editeur){
		_editeur = editeur;
	}
	
	
	/**
	 *  lier la parution à l'ensemble des parutions du périodique de la bibliothèque.
	 * @param parution Parution à ajouter
	 * @param num 	num de cette parution
	 */
	private void setParution(Parution p, String num) {
		this.getParutions().put(num, p);
	} 

	/**
	 * @param parution hashtable de parutions à affecter
	 */
	private void setParutions(HashMap<String, Parution> parutions) {
		_lesParutions = parutions;
	}
	
	/**
	 * Ajoute la parution au périodique
	 * @param numParution
	 * @param parution
	 */
	public void setParution(String numParution, Parution parution) {
		_lesParutions.put(numParution, parution);		
	}
	
//////////////////////////////////////////////////////////////////////
	
	///////////////////////////////////
	//Accesseurs
	///////////////////////////////////
	/**
	* @return ensemble des parutions du périodique
	*/
	public HashMap<String, Parution> getParutions() {
		return _lesParutions;
	}// Fin getParution
	
	/**
	* @return nom du périodique
	*/
	public String getNom() {
		return _nom;
	}// Fin getNom
	
	/**
	* @return nom du périodique
	*/
	public String getIssn() {
		return _issn;
	}// Fin getNom
	/**
	* @return editeur du périodique
	*/
	public String getEditeur() {
		return _editeur;
	}// Fin getNom

	public Parution getParution(String numParution) {
		// TODO Auto-generated method stub
		return _lesParutions.get(numParution);
	}

	
}
